На этот вопрос уже есть ответы здесь: Как мне вернуть ответ от асинхронного вызова? (42 ответа) Закрыт 5 месяцев назад. Поэтому при запуске следующего кода ответ console.log (ba) не определен Но когда я пробую это в консоли Chrome V8, я получаю правильный результат, которого ожидал. Я не совсем уверен, что здесь происходит. пусть ба; function Setqa () { (async () => { ожидание получения ('questions.json') .then (res => res.json ()) .then (async (данные) => { ba = ждать данных; }); }) (); } Setqa (); console.log (ба); Содержимое json-файла следующее: "вопросов": [{ "questionType": "несколько", "вопрос": "Какая погода", "ответы": "", "вопрос ответ": "" }, { "questionType": "несколько", "вопрос": "Как дела?", "answers": " 1", "questionAnswer": "textPurpose1" } ]
2021-02-27 08:14:01
Я думаю, это должно сработать пусть ба; function Setqa () { вернуть выборку ('questions.json') .then (res => res.json ()) .then (async (данные) => { ba = ждать данных; }); } Setqa (). Then (() => console.log (ba)); Но лучший подход был бы асинхронная функция setQa () { const res = await fetch ('questions.json'); вернуть res.json (); } let ba = ждать setQa (); | Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками javascript json fetch console.log или задайте свой вопрос.